package com.spring.demo7.factory;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

/**
 * Lazy:延迟初始化
 * <p>
 * 常见使用方式:
 * 1.和@Compontent一起标注在类上，可以使这个类延迟初始化
 * 2.和@Configuration一起标注在配置类中，可以让当前配置类中通过@Bean注册的bean延迟初始化
 * 3.和@Bean一起使用，可以使当前bean延迟初始化
 */
@Documented
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface MyLazy {

    // 是否发生延迟初始化
    boolean value() default true;
}
